招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 报考指南 - 正文

上机考试编程如何避免范围性错误

来源:招生考试网 2006-8-3

   机考如何避免范围性错误   

    小编:参加上机考试的朋友最忌讳犯的错误就是粗心,有时明明会做的题,却因为一个小小的符号错误导致全盘皆输。下面这位朋友在做上机练习时,发现自己所编程序的运行结结果正确无误,但评分系统没有给分,这是为什么呢?下面让她来告诉我们其中的原委。    

  在上机操作时,要多注意循环的范围。这种错误往往只有一个符号之差,用run运行时并不报错,在你输入数据后查看结果时,可能结果显示也正确,但却不一定能得分。我在复习过程中,做上机模拟时遇到了这种情况:运行结果正确,评分时却是0分。下面这道题并不难,却让我颇费周折,大家不妨看看,也好引以为戒。    

  “请编写一个函数void fun(int x,int pp[ ],intn)。它的功能是:求出能整除x且不是偶数的各整数,并放在数组pp[ ]中,这些除数的个数由n返回。运行时输入x的值为30。”    

  (注意:部分源程序在文件prog.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。)    

  我是这样编写的:    

  void fun(int x,int pp[ ],int n)    
  {    
  int i, j=0,point;    
  point=pp;    
  for(i=1,i    
  if((x%i= =0)&&&&(i%2!=0))    
  { point=i;    
  point++;    
  j++; }    
  point=NULL;    
  n=j;    
  }    

  按F9未显示异常,按ctrl +F9后输入“30”,结果是:“1 3 5 15”。再次验证输入40,结果是:“1 5”。多次验证(用20、50或其他偶数)结果都正确,可就是评分系统却不给分。我开始怀疑评分系统是不是做得太死板了,或有错误。

    

  打开答案,发现答案的解题思路和我的是一致的,参考答案如下:    

  #include    
  #include    
  void fun(int x,int pp[ ],int n)    
  {    
  int i ;    
  int j=0;    
  int point;    
  point=pp;    
  for(i=1,i<=x;i++) 
{if((x%i= =0)&&&&(i%2!=0))    
  { point=i;    
  point++;    
  j++; }    
  }    
  point=NULL;    
  n=j;    
  }    
  main()    
  { int x,aa[1000],n,i;   
  cl 
rscr;    
  printf(“\n please enter an integer number:\n);    
  scanf(“%d”,&&x)    
  fun(x,aa,&&n);    
  for(i=0;i    
  printf(“%d”,aa[i]);  



  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.
    最新文章


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号